package com.atlin.project.model.vo.cds;

import com.atlin.project.model.domain.cds.FileMetadata;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.Date;

/**
 * 示例表
 *
 * @TableName fileMetadata
 */
@Data
public class FileMetadataVO implements Serializable {


    /**
     * 文件元数据ID
     */

    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    /**
     * 文件名称
     */
    private String fileName;

    /**
     * 文件存储路径
     */
    private String filePath;

    /**
     * 文件大小
     */
    private Long fileSize;

    /**
     * 文件哈希值
     */
    private String fileHash;

    /**
     * 文件版本
     */
    private Integer version;

    /**
     *
     */
    private Date updatedTime;

    /**
     *
     */
    private Date createdTime;

    /**
     * 包装类转对象
     *
     * @param fileMetadataVO
     * @return
     */
    public static FileMetadata voToObj(FileMetadataVO fileMetadataVO) {
        if (fileMetadataVO == null) {
            return null;
        }
        FileMetadata fileMetadata = new FileMetadata();
        BeanUtils.copyProperties(fileMetadataVO, fileMetadata);

        return fileMetadata;
    }


    /**
     * 对象转包装类
     *
     * @param fileMetadata
     * @return
     */
    public static FileMetadataVO objToVo(FileMetadata fileMetadata) {
        if (fileMetadata == null) {
            return null;
        }
        FileMetadataVO fileMetadataVO = new FileMetadataVO();
        BeanUtils.copyProperties(fileMetadata, fileMetadataVO);

        return fileMetadataVO;
    }

    private static final long serialVersionUID = 1L;
}